Larave 8 一改之前的bootstrap UI ,改为默认使用的是tailwind css.
我们的分页样式成了这样,如果,为了一个分页,放弃bootstrap,是不聪明的,或者重写分页也是不太合适的。
还是老套路,先去百度,看看有没有现成的轮子...
结果搜到了这个,
laravel8替换paginate默认样式
https://www.yuque.com/daixiansheng-arf2u/koh7a1/ervtps
但是,这个文章,是让我们直接修改,框架,内的paginate组件。似乎,能解决问题,但是失去了,laravel 所标的,“优雅”二字。
首先,我们看一下,vendor/laravel/framework/src/Illuminate/Pagination/AbstractPaginator.php
88行,和95行
public static $defaultView = 'pagination::default';
public static $defaultSimpleView = 'pagination::simple-default';
以及下方,432行,和443行,
public static function defaultView($view)
{
static::$defaultView = $view;
}
public static function defaultSimpleView($view)
{
static::$defaultSimpleView = $view;
}
不知道,这个造轮子的人,是怎么发现到这里的,与我的逻辑顺序不太一样,哈哈。
我们,分页处,使用的是$data->links();
肯定与links这个方法有关,我们顺着找一下,
我们来到,vendor/laravel/framework/src/Illuminate/Pagination/Paginator.php
这个是分页组件的入口文件,可以这么理解了,找一下,links() 93行,
{!!$ data -> links('pagination::bootstrap-4')!!}
public function links($view = null, $data = [])
{
return $this->render($view, $data);
}
别看什么都没有,重点是他可以,干什么,对传参,$view,
其它的,你不看看,你还真不知道,他传什么,怎么定义呢?
然后,去view,文件夹,看一下,原来,对应的是模板名,
pagination::simple-default 默认,tailwind样式
pagination::simple-bootstrap-4.blade.php
好了,就写到这里,是不是很简单优雅,一般情况下,建议不要去修改框架本身的东西,这会给后期,升级带来更大的工作量。
$data -> links('pagination::bootstrap-4')